package com.crk.shixiguanli.service;

import com.crk.shixiguanli.entity.*;
import com.crk.shixiguanli.util.Page;
import com.crk.shixiguanli.util.ResponseResult;

import java.util.List;

/**
 * @author
 * @description:
 * @date 2020/3/24
 */
public interface RoleService {
    /**
     * 根据角色ID查询权限信息
     * @param roleId
     * @return
     */
    public List<Function> getFunctionList(Integer roleId);

    /**
     * 保存角色
     * @param role
     * @return
     */
    ResponseResult saveRole(Role role);

    /**
     * 删除角色
     * @param roleId
     * @return
     */
    ResponseResult deleteRoleById(int roleId);

    /**
     * 查询角色列表
     * @param roleCode 角色编码
     * @param roleName 角色名称
     * @param pageInfo 分页信息
     * @return
     */
    ResponseResult getRoleList(String roleCode, String roleName, Page pageInfo);

    /**
     * 查询单个角色信息
     * @param roleId
     * @return
     */
    ResponseResult getRole(int roleId);

    /**
     * 更改角色状态
     * @param roleId
     * @param status
     * @return
     */
    ResponseResult changeStatus(int roleId, int status);

    /**
     * 批量修改用户权限
     * @param roleAuthDto
     * @return
     */
    ResponseResult batchUpdateRoleAuth(RoleAuthDto roleAuthDto);

}
